excel定义数组 |
您所在的位置:网站首页 › excel 内存数组 › excel定义数组 |
上一节中学习了变量类型、变量声明和赋值使用、作用域等内容,在声明变量的过程中会出现一次性需要声明多个同类型变量的情况,如果还是按照常规的方法,那么程序就比较杂乱,为了一次性声明多个同类型变量,引入了数组的概念。数组就是同类型多个变量的集合,也是变量。数组声明的语法规则如下: dim 数组名 (a to b) as 数据类型 如:dim 七6班 (1 to 50 )as string ‘声明一个数组名为七6班数据容量为50的string变量,即声明了50个变量名为七6班1、2......50的string类型变量 声明数组时,也可以用一个自然数n指定数组长度,该自然数作为数组的最大索引号,但数组默认索引号是0,数组长度为n+1,如: dim arr(49)as string ”数组长度为50,如果在模块的第一句写上option base 1,尽管只使用一个自然数确定数组长度,数组起始索引号也是1。 如:sub sztest() dim arr (1 to 10)as integer,i as integer for i = 1 to 10 arr(i)= i ”arr数组赋值 next end sub 多维数组 上面主要说明了一维数组,实际运用过程中还存在二维、三维......数组,多维数组声明和使用同一维数组类似,如: dim arr1(1 to 10,1 to 10)as integer 或 dim arr1(9,9)as integer dim arr2(1 to 10,1 to 10,1 to 10) as string 或dim arr2 (9,9,9) as string 声明动态数组 如果在声明数组时,不能确定数组的长度时,可以在首次定义数组时括号为空,写成: dim 数组名称()as string 然后在程序中使用redim语句重新制定数组长度。 如:sub dtsz() dim arr()as string dim n as long n = application.worksheetfunction.count(range("a:a")) “统计A列有多少个非空单元格 redim arr(1 to n) as string ”重新定义数组大小 end sub 注意:已经定义大小的数组同样可以使用redim语句重新指定它的大小。 关于数组的一些知识 1、将某个单元格区域的值直接存储到数组里,可以直接把单元格区域的值赋值给变量名。 如:sub rngarr() dim arr as variant arr = range("a1:c3").value range(“e1:g3”).value = arr end sub 2、将数组中的元素赋值给单元格 将数组中某个元素赋值给某一单元格。如:range(“a1”).value = arr(1) 将整个数组元素赋值给单元格区域。 如:Sub arr_rng() Dim arr() As Variant arr = Array(2, 4, 8) Worksheets("sheet2").Range("a3:c3").Value = arr End Sub 如: Sub arr_rng() Dim arr() As Variant arr = Array(2, 4, 8) Worksheets("sheet2").Range("a3:a5").Value = WorksheetFunction.Transpose(arr) End Sub 如:Public Sub arr_rng() Dim arr(1 To 2, 1 To 3) As Variant arr(1, 1) = 1 arr(1, 2) = "张勇" arr(1, 3) = "男" arr(2, 1) = 2 arr(2, 2) = "林梅" arr(2, 3) = "女" worksheets("sheet2").range("A1:C2").value = arr End Sub |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |